<?php
/**
 * 测试引导文件
 *
 * @author Claude Code
 * @since 2025-11-03
 */

// 设置测试环境
define('APP_ENV', 'testing');
define('APP_DEBUG', true);
define('APP_PATH', dirname(__DIR__) . '/app/');

// 加载Composer自动加载器
require_once dirname(__DIR__) . '/vendor/autoload.php';

// 设置时区
date_default_timezone_set('Asia/Shanghai');

// 加载应用配置
\think\facade\Env::load();

// 初始化应用
$app = new \think\App();
$app->initialize();

// 设置缓存配置（确保在测试环境中使用文件缓存）
$cacheConfig = [
    'default' => 'file',
    'stores' => [
        'file' => [
            'type' => 'File',
            'path' => app()->getRuntimePath() . 'cache' . DIRECTORY_SEPARATOR,
            'prefix' => 'test_',
            'expire' => 600,
        ],
    ],
];

// 配置缓存
\think\facade\Config::set($cacheConfig, 'cache');

// 清除所有缓存（确保测试环境干净）
try {
    \think\facade\Cache::clear();
} catch (\Exception $e) {
    // 如果清除缓存失败，忽略错误
    echo "警告：清除缓存失败: " . $e->getMessage() . "\n";
}
